<script>
import { mapMutations } from 'vuex';
import { decryptPhone } from "@/config/api.js";

export default {
    onLaunch: function() {
        // 静默登录逻辑
        uni.login({
            provider: 'weixin',
            success: async (loginRes) => {
                if (loginRes.code) {
                    try {
                        const res = await decryptPhone({ code: loginRes.code });
                        if (res && res.data) {
                            this.setUser(res.data.user);
                            this.setToken(res.data.token);
                            this.loginSuccessCallback();
                            // 新增：触发登录成功事件
                            uni.$emit('loginSuccess');
                            // 检查用户信息完整性
                            this.checkUserInfo(res.data.user);
                        }
                    } catch (err) {
                        console.error("静默登录失败", err);
                    }
                }
            },
            fail: (err) => {
                console.error("获取登录凭证失败", err);
            }
        });
    },
    onReady: function() {},
    onHide: function() {},
    methods: {
        ...mapMutations(['setToken', 'setUser', 'setLoginSuccess']),
        loginSuccessCallback() {
            // 更新登录成功状态
            this.setLoginSuccess(true);
        },
        // 检查用户信息完整性
        checkUserInfo(user) {
            // 如果专业、备考城市或工作状态为null，强制要求用户完善信息
            if (!user.major || !user.preparationCity || !user.fullTime) {
                uni.showModal({
                    title: '提示',
                    content: '您的备考信息不完整，必须补齐信息才能使用小程序',
                    showCancel: false,
                    confirmText: '去完善',
                    success: (res) => {
                        if (res.confirm) {
                            // 跳转到个人信息页面，并标记为强制模式
                            uni.navigateTo({
                                url: '/pages/mine/components/add?required=true'
                            });
                        }
                    }
                });
                return false; // 返回 false 表示信息不完整
            }
            return true; // 返回 true 表示信息完整
        }
    }
}
</script>

<style lang="scss">
    /*每个页面公共css */
    // 只引入uView核心样式，避免全量引入
    @import "@/uni_modules/uview-ui/libs/css/color.scss";
    @import "@/uni_modules/uview-ui/libs/css/common.scss";
    @import "@/uni_modules/uview-ui/libs/css/flex.scss";
    @import "@/uni_modules/uview-ui/libs/css/mixin.scss";
    @import "@/style/common.scss";
    page {
        background: #fff url('~@/static/img/bg.png') no-repeat center / cover;
        font-family: Source Han Sans, Source Han Sans;
        font-style: normal;
        text-transform: none;
        color: #000;
    }
    // 隐藏滚动条
    ::-webkit-scrollbar {
        width: 0;
        height: 0;
        color: transparent;
        }
</style>